package fun.werfamily.wf.order.core.domain.dto.result.user;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @Author: Chris.Zeng
 * @since: 2021/10/25
 */
@Data
@ApiModel("收货地址实体")
public class UserAddressDTO implements Serializable {

    @ApiModelProperty("地址ID")
    private Long id;

    @ApiModelProperty("省")
    @NotBlank(message = "请选择省")
    private String provinceCode;

    @ApiModelProperty("省名称")
    @NotBlank(message = "省不能为空")
    private String provinceName;

    @ApiModelProperty("市")
    @NotBlank(message = "请选择市")
    private String cityCode;

    @ApiModelProperty("市名称")
    @NotBlank(message = "市不能为空")
    private String cityName;

    @ApiModelProperty("区")
    @NotBlank(message = "请选择区")
    private String areaCode;

    @ApiModelProperty("区名称")
    @NotBlank(message = "区不能为空")
    private String areaName;

    @ApiModelProperty("详细地址")
    @NotBlank(message = "请填写详细地址")
    private String address;

    @ApiModelProperty("是否默认收货地址")
    private Boolean isDefault;

    @ApiModelProperty("用户id")
    @NotNull(message = "用户id不能为空")
    private Long userId;

    @ApiModelProperty("收货人姓名")
    @NotBlank(message = "收货人姓名不能为空")
    private String consignee;

    @ApiModelProperty("手机号")
    @NotBlank(message = "收货手机号不能为空")
    private String mobile;

    @ApiModelProperty("标签")
    private String tag;
}
